home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 14.1 KB | 464 lines | [TEXT/MPS ] |
- /*
- File: QuickTimeComponents.idl
-
- Contains: QuickTime Interfaces.
-
- Version: Technology: QuickTime 2.1
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __QUICKTIMECOMPONENTS_IDL__
- #define __QUICKTIMECOMPONENTS_IDL__
-
- #include <somobj.idl>
- #include <somcls.idl>
-
- #ifndef __COMPONENTS_IDL__
- #include <Components.idl>
- #endif
- #ifndef __IMAGECOMPRESSION_IDL__
- #include <ImageCompression.idl>
- #endif
- #ifndef __MOVIES_IDL__
- #include <Movies.idl>
- #endif
- #ifndef __QUICKDRAW_IDL__
- #include <Quickdraw.idl>
- #endif
- #ifndef __VIDEO_IDL__
- #include <Video.idl>
- #endif
- #ifndef __MEMORY_IDL__
- #include <Memory.idl>
- #endif
- #ifndef __SOUND_IDL__
- #include <Sound.idl>
- #endif
-
- #ifdef __SOMIDL__
-
- #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
- /** These are Clock procedures **/
- /*
- General Sequence Grab stuff
- */
- typedef ComponentInstance SeqGrabComponent;
-
- typedef ComponentInstance SGChannel;
-
- typedef unsigned long SeqGrabDataOutputEnum;
-
- typedef unsigned long SeqGrabUsageEnum;
-
- typedef unsigned long SeqGrabChannelInfoEnum;
-
- typedef SOMLargeStruct SeqGrabFrameInfo; /* Derived from a struct of 20 bytes in size */
-
- typedef OpaquePtr SeqGrabFrameInfoPtr; /* Substituted OpaquePtr for “SeqGrabFrameInfo*” */
-
- typedef OpaquePtr SGDataProcPtr;
- typedef OpaquePtr SGDataUPP;
- typedef SOMLargeStruct SGDeviceName; /* Derived from a struct of 80 bytes in size */
-
- typedef SOMLargeStruct SGDeviceListRecord; /* Derived from a struct of 88 bytes in size */
-
- typedef OpaquePtr SGDeviceListPtr; /* Substituted OpaquePtr for “SGDeviceListRecord*” */
-
- typedef OpaquePtr SGDeviceList; /* Substituted OpaquePtr for “SGDeviceListPtr*” */
-
- typedef OpaquePtr SGModalFilterProcPtr;
- typedef OpaquePtr SGModalFilterUPP;
- typedef SOMFourByteStruct SGOutputRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr SGOutput; /* Substituted OpaquePtr for “SGOutputRecord*” */
-
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
- /*
- calls from Channel to seqGrab
- */
- /*** Sequence Grab CHANNEL Component Stuff ***/
- /*
- calls from seqGrab to Channel
- */
- /*
- Dorky dialog panel calls
- */
- /*** Sequence Grab VIDEO CHANNEL Component Stuff ***/
- /*
- Video stuff
- */
- typedef SOMLargeStruct SGCompressInfo; /* Derived from a struct of 10 bytes in size */
-
- typedef OpaquePtr SGGrabProcPtr;
- typedef OpaquePtr SGGrabUPP;
- typedef OpaquePtr SGGrabCompleteProcPtr;
- typedef OpaquePtr SGGrabCompleteUPP;
- typedef OpaquePtr SGDisplayProcPtr;
- typedef OpaquePtr SGDisplayUPP;
- typedef OpaquePtr SGCompressProcPtr;
- typedef OpaquePtr SGCompressUPP;
- typedef OpaquePtr SGCompressCompleteProcPtr;
- typedef OpaquePtr SGCompressCompleteUPP;
- typedef OpaquePtr SGAddFrameProcPtr;
- typedef OpaquePtr SGAddFrameUPP;
- typedef OpaquePtr SGTransferFrameProcPtr;
- typedef OpaquePtr SGTransferFrameUPP;
- typedef OpaquePtr SGGrabCompressCompleteProcPtr;
- typedef OpaquePtr SGGrabCompressCompleteUPP;
- typedef OpaquePtr SGDisplayCompressProcPtr;
- typedef OpaquePtr SGDisplayCompressUPP;
- typedef SOMLargeStruct VideoBottles; /* Derived from a struct of 38 bytes in size */
-
- /*** Sequence Grab SOUND CHANNEL Component Stuff ***/
- /*
- Sound stuff
- */
- /* Standard type for video digitizers */
- /* Input Format Standards */
- /* Input Formats */
- /* Video Digitizer PlayThru States */
- /* Input Color Space Modes */
- /* Phase Lock Loop Modes */
- /* Field Select Options */
- /* vdig types */
- /* Digitizer Input Capability/Current Flags */
- /* Digitizer Output Capability/Current Flags */
- /* Types */
- typedef ComponentInstance VideoDigitizerComponent;
-
- typedef ComponentResult VideoDigitizerError;
-
- typedef SOMLargeStruct DigitizerInfo; /* Derived from a struct of 42 bytes in size */
-
- typedef SOMLargeStruct VdigType; /* Derived from a struct of 8 bytes in size */
-
- typedef SOMLargeStruct VdigTypeList; /* Derived from a struct of 10 bytes in size */
-
- typedef SOMLargeStruct VdigBufferRec; /* Derived from a struct of 12 bytes in size */
-
- typedef SOMLargeStruct VdigBufferRecList; /* Derived from a struct of 22 bytes in size */
-
- typedef OpaquePtr VdigBufferRecListPtr; /* Substituted OpaquePtr for “VdigBufferRecList*” */
-
- typedef OpaquePtr VdigBufferRecListHandle; /* Substituted OpaquePtr for “VdigBufferRecListPtr*” */
-
- typedef OpaquePtr VdigIntProcPtr;
- typedef OpaquePtr VdigIntUPP;
- typedef SOMLargeStruct VDCompressionList; /* Derived from a struct of 148 bytes in size */
-
- typedef OpaquePtr VDCompressionListPtr; /* Substituted OpaquePtr for “VDCompressionList*” */
-
- typedef OpaquePtr VDCompressionListHandle; /* Substituted OpaquePtr for “VDCompressionListPtr*” */
-
- /* number of vdig calls*/
- /* 83 is reserved for compatibility reasons */
- typedef OpaquePtr SCModalFilterProcPtr;
- typedef OpaquePtr SCModalFilterUPP;
- typedef OpaquePtr SCModalHookProcPtr;
- typedef OpaquePtr SCModalHookUPP;
- /* Preference flags.*/
- /* Possible test flags for setting test image.*/
- /* Dimensions of the image preview box.*/
- /* Possible items returned by hookProc.*/
- /* Result returned when user cancelled.*/
- /* Component selectors*/
- /* Get/SetInfo structures.*/
- typedef SOMLargeStruct SCSpatialSettings; /* Derived from a struct of 14 bytes in size */
-
- typedef SOMLargeStruct SCTemporalSettings; /* Derived from a struct of 12 bytes in size */
-
- typedef SOMLargeStruct SCDataRateSettings; /* Derived from a struct of 16 bytes in size */
-
- typedef SOMLargeStruct SCExtendedProcs; /* Derived from a struct of 44 bytes in size */
-
- /* Get/SetInfo selectors*/
- /* scTypeNotFoundErr returned by Get/SetInfo when type cannot be found.*/
- /** These are Progress procedures **/
- typedef SOMLargeStruct SCParams; /* Derived from a struct of 38 bytes in size */
-
- typedef ComponentInstance MovieImportComponent;
-
- typedef ComponentInstance MovieExportComponent;
-
- /* Text Export Display Info data structure*/
- typedef SOMLargeStruct TextDisplayData; /* Derived from a struct of 44 bytes in size */
-
- typedef ComponentInstance TextExportComponent;
-
- /*
- **************
-
- File Preview Components
-
- **************
- */
- typedef ComponentInstance pnotComponent;
-
- typedef OpaquePtr DataHCompletionProcPtr;
- typedef OpaquePtr DataHCompletionUPP;
- typedef SOMLargeStruct DataHVolumeListRecord; /* Derived from a struct of 6 bytes in size */
-
- typedef OpaquePtr DataHVolumeListPtr; /* Substituted OpaquePtr for “DataHVolumeListRecord*” */
-
- typedef OpaquePtr DataHVolumeList; /* Substituted OpaquePtr for “DataHVolumeListPtr*” */
-
- typedef SOMLargeStruct DataHScheduleRecord; /* Derived from a struct of 28 bytes in size */
-
- typedef OpaquePtr DataHSchedulePtr; /* Substituted OpaquePtr for “DataHScheduleRecord*” */
-
- typedef ComponentInstance MusicComponent;
-
- /* MusicSynthesizerFlags*/
- /*
- * Note that these controller numbers
- * are _not_ identical to the MIDI controller numbers.
- * These are _signed_ 8.8 values, and the LSB's are
- * always sent to a MIDI device. Controllers 32-63 are
- * reserved (for MIDI, they are LSB's for 0-31, but we
- * always send both).
- *
- * The full range, therefore, is -128.00 to 127.7f.
- *
- * _Excepting_ _volume_, all controls default to zero.
- *
- * Pitch bend is specified in fractional semitones! No
- * more "pitch bend range" nonsense. You can bend as far
- * as you want, any time you want.
- */
- typedef SOMLargeStruct SynthesizerDescription; /* Derived from a struct of 132 bytes in size */
-
- typedef SOMLargeStruct ToneDescription; /* Derived from a struct of 76 bytes in size */
-
- /* InstrumentMatch*/
- /* KnobFlags*/
- typedef SOMLargeStruct KnobDescription; /* Derived from a struct of 48 bytes in size */
-
- typedef SOMLargeStruct InstrumentData; /* Derived from a struct of 84 bytes in size */
-
- typedef OpaquePtr InstrumentDataPtr; /* Substituted OpaquePtr for “InstrumentData*” */
-
- typedef OpaquePtr InstrumentDataHandle; /* Substituted OpaquePtr for “InstrumentDataPtr*” */
-
- typedef SOMLargeStruct FlatInstrument; /* Derived from a struct of 84 bytes in size */
-
- typedef SOMLargeStruct InstrumentAboutInfo; /* Derived from a struct of 772 bytes in size */
-
- typedef SOMLargeStruct MusicMIDIPacket; /* Derived from a struct of 255 bytes in size */
-
- typedef OpaquePtr MusicMIDISendProcPtr;
- typedef OpaquePtr MusicMIDISendUPP;
- /*--------------------------------*/
- /*
- -----------------------------------------
- Capabilities and Voice Allocation
- -----------------------------------------
- */
- /*
- -----------------------------------------
- Instrument Loading and Storing
- -----------------------------------------
- */
- /*
- -----------------------------------------
- Instrument Knobs
- -----------------------------------------
- */
- /*
- -----------------------------------------
- Synthesizer Knobs
- -----------------------------------------
- */
- /*
- -----------------------------------------
- Names of Instruments
- -----------------------------------------
- */
- /*
- -----------------------------------------
- Realtime Actions
- -----------------------------------------
- */
- /*
- -----------------------------------------
- Finding the Hardware
- -----------------------------------------
- */
- /*
- --------------------------
- Types
- --------------------------
- */
- typedef SOMFourByteStruct NoteChannelRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr NoteChannel; /* Substituted OpaquePtr for “NoteChannelRecord*” */
-
- /* used for MIDI device only */
- typedef SOMLargeStruct SynthesizerConnections; /* Derived from a struct of 32 bytes in size */
-
- typedef SOMLargeStruct NoteRequest; /* Derived from a struct of 84 bytes in size */
-
- typedef ComponentInstance NoteAllocator;
-
- typedef OpaquePtr MusicMIDIReadHookProcPtr;
- typedef OpaquePtr MusicMIDIReadHookUPP;
- /*
- --------------------------------
- Note Allocator Prototypes
- --------------------------------
- */
- /*
- * System Configuration
- */
- /*
- * Allocation
- */
- /*
- * Setup
- */
- /*
- * Control
- */
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- /*
- * User Interface
- */
- #endif
- #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
- /*
- * Note Allocator interior views
- */
- typedef SOMLargeStruct NAStatPiece; /* Derived from a struct of 80 bytes in size */
-
- typedef SOMLargeStruct NAStat; /* Derived from a struct of 5124 bytes in size */
-
- /*
- --------------------------
- Types
- --------------------------
- */
- typedef SOMLargeStruct TuneStatus; /* Derived from a struct of 32 bytes in size */
-
- typedef OpaquePtr TuneCallBackProcPtr;
- typedef OpaquePtr TuneCallBackUPP;
- typedef OpaquePtr TunePlayCallBackProcPtr;
- typedef OpaquePtr TunePlayCallBackUPP;
- typedef ComponentInstance TunePlayer;
-
- /*
- --------------------------
- Prototypes
- --------------------------
- */
- /* Values for when to start. */
- /* Values for when to start. */
- typedef unsigned long MusicOpWord;
-
- typedef OpaquePtr MusicOpWordPtr; /* Substituted OpaquePtr for “unsigned long*” */
-
- /*
- QuickTime Music Track Event Formats:
-
- At this time, QuickTime music tracks support 5 different event types -- REST events,
- short NOTE events, short CONTROL events, short GENERAL events, Long NOTE events,
- long CONTROL events, and variable GENERAL events.
-
- • REST Event (4 bytes/event):
-
- (0 0 0) (5-bit UNUSED) (24-bit Rest Duration)
-
- • Short NOTE Events (4 bytes/event):
-
- (0 0 1) (5-bit Instrument) (6-bit Pitch) (7-bit Volume) (11-bit Duration)
-
- where: Pitch is offset by 32 (Actual pitch = pitch field + 32)
-
- • Short CONTROL Events (4 bytes/event):
-
- (0 1 0) (5-bit Instrument) (8-bit Controller) (1-bit UNUSED) (1-bit Sign) (7-bit MSB) (7-bit LSB)
- ( or 15-bit Signed Value)
- • Short GENERAL Event (4 bytes/event):
-
- (0 1 1) (1-bit UNUSED) (12-bit Sub-Type) (16-bit Value)
-
- • Long NOTE Events (8 bytes/event):
-
- (1 0 0 1) (12-bit Instrument) (1-bit UNUSED) (7-bit Pitch) (1-bit UNUSED) (7-bit Volume)
- (1 0) (8-bit UNUSED) (22-bit Duration)
-
- • Long CONTROL Event (8 bytes/event):
-
- (1 0 1 0) (12-bit Instrument) (16-bit Value MSB)
- (1 0) (14-bit Controller) (16-bit Value LSB)
-
- • Long KNOB Event (8 bytes/event):
-
- (1 0 1 1) (12-bit Sub-Type) (16-bit Value MSB)
- (1 0) (14-bit KNOB) (16-bit Value LSB)
-
- • Variable GENERAL Length Events (N bytes/event):
-
- (1 1 1 1) (12-bit Sub-Type) (16-bit Length)
- :
- (32-bit Data values)
- :
- (1 1) (14-bit UNUSED) (16-bit Length)
-
- where: Length field is the number of LONG words in the record.
- Lengths include the first and last long words (Minimum length = 2)
-
- The following event type values have not been used yet and are reserved for
- future expansion:
-
- • (1 0 0 0) (8 bytes/event)
- • (1 1 0 0) (N bytes/event)
- • (1 1 0 1) (N bytes/event)
- • (1 1 1 0) (N bytes/event)
-
- For all events, the following generalizations apply:
-
- - All duration values are specified in Millisecond units.
- - Pitch values are intended to map directly to the MIDI key numbers.
- - Controllers from 0 to 127 correspond to the standard MIDI controllers.
- Controllers greater than 127 correspond to other controls (i.e., Pitch Bend,
- Key Pressure, and Channel Pressure).
- */
- /* Defines for the implemented music event data fields*/
- /* General Event Defined Types*/
- typedef SOMLargeStruct TimeCodeDef; /* Derived from a struct of 14 bytes in size */
-
- typedef SOMFourByteStruct TimeCodeTime; /* Derived from a struct of 4 bytes in size */
-
- typedef SOMFourByteStruct TimeCodeCounter; /* Derived from a struct of 4 bytes in size */
-
- typedef SOMLargeStruct TimeCodeRecord; /* Derived from a struct of 8 bytes in size */
-
- typedef SOMLargeStruct TimeCodeDescription; /* Derived from a struct of 38 bytes in size */
-
- typedef OpaquePtr TimeCodeDescriptionPtr; /* Substituted OpaquePtr for “TimeCodeDescription*” */
-
- typedef OpaquePtr TimeCodeDescriptionHandle; /* Substituted OpaquePtr for “TimeCodeDescriptionPtr*” */
-
- typedef SOMLargeStruct TCTextOptions; /* Derived from a struct of 18 bytes in size */
-
- typedef OpaquePtr TCTextOptionsPtr; /* Substituted OpaquePtr for “TCTextOptions*” */
-
- /* UPP call backs */
- #endif
-
- #endif /* __SOMIDL__ */
-
- #endif /* __QUICKTIMECOMPONENTS_IDL__ */
-
-